package pl.koziolekweb.szkola.NKBeans;

// NK-Beans/Ziarna.java
 
import javax.swing.*;
import java.awt.*;

/*
 * Program demonstrujacy ziarno reprezentujace model
 * ktorego zmiany sa obserwowane i moga byc zawetowane.
 *                               T.R. Werner, Oct 2005
 */
public class Ziarna extends JFrame {

    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public Ziarna() {
        super("BEANS");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

          // zrodlo zdarzen (model)
        Kibice   kibice    = new Kibice();

          // sluchacze niewetujacy (widoki modelu)
        Lights   lights    = new Lights();
        Info     info      = new Info();
        kibice.addPropertyChangeListener(lights);
        kibice.addPropertyChangeListener(info);

          // sluchacz wetujacy (kontroler)
        Bramkarz bramkarz  = new Bramkarz();
        kibice.addVetoableChangeListener(bramkarz);

          // GUI
        JPanel kluby = new JPanel();
        JButton leg = new JButton("Legia");
        leg.addActionListener(
            new Akcja("Legia",kibice,this));
        JButton pol = new JButton("Polonia");
        pol.addActionListener(
            new Akcja("Polonia",kibice,this));
        kluby.setLayout(new FlowLayout());
        kluby.add(leg);
        kluby.add(pol);
        kluby.add(lights);
        getContentPane().setLayout(new GridLayout(2,1,5,5));
        getContentPane().add(kluby);
        getContentPane().add(info);

        pack();
        Dimension scr =
            Toolkit.getDefaultToolkit().getScreenSize();
        setLocation((scr.width -getWidth() )/2,
                    (scr.height-getHeight())/2);
        setVisible(true);
    }

    public static void main(String[] args) {
        new Ziarna();
    }
}